Skip to content

Исправить мобильные layout в production, сохранив desktop - #408

Merged
TThanos3000 merged 1 commit into
masterfrom
fix/prod-mobile-layout-20261010
Oct 10, 2026
Merged

TThanos3000 merged 1 commit into
masterfrom
fix/prod-mobile-layout-20261010

Conversation

@TThanos3000

Copy link
Copy Markdown
Contributor

Проблема и результат

После мобильного релиза #407 в production карточки программ перекрывались аватаром и рисовали две рамки, иконки кнопок переносились под текст, а панель колокольчика открывалась за нижним краем экрана. Исправлены эти состояния и остальные замечания по мобильным скриншотам. PR создан от текущего master (19439e6d), без переноса остальных изменений dev.

На ширинах от 1000px существующая композиция production сохранена: 82/82 desktop-снимка имеют 0 отличающихся RGB pixels, без масок и допуска.

Изменения

  • Mobile Button выравнивает текст и иконку в существующем .button__label; плюсики создания проекта, партнёров, ресурсов и достижений помещаются рядом с текстом. Участник программы использует тот же корректный layout действий, что и организатор.
  • ProgramCard получает одну рамку и отдельную колонку для аватара. Иконки фильтров новостей остаются внутри карточек. Описание проекта ограничивается тремя целыми строками; у статуса вакансии один контур.
  • Аватар и заголовок программы, профиля и проекта центрированы. Мобильная иерархия профиля/проекта: описание и навыки/цели → основные данные, опыт, команда и контакты → новости. Фильтры вакансий стоят перед результатами и в визуальном порядке, и в DOM.
  • В редакторах сохранение занимает ширину рабочей строки; back и заголовок проекта отделены от действий. Удаление проекта следует за сохранением. Фото редактора профиля центрировано.
  • Панель уведомлений находится под шапкой в viewport. Проверены пустое состояние, загруженный список, «прочитать все», Escape, закрытие вне панели и повторное открытие.
  • Скорректированы подписи этапов и интервалы виджета аналитики участника программы.

Все геометрические SCSS-изменения ограничены <1000px; desktop-ветки шаблонов сохранены. API, роли, разрешения, обработчики уведомлений и правила подачи заявок не изменены. Backend и миграции не требуются.

Проверки

  • npm run build:prod: exit 0.
  • npm run test:ci: 413 файлов, 2099 тестов passed.
  • npm run lint:ts: 0 errors; 6 существующих unused-disable warnings.
  • Stylelint: 17 изменённых SCSS, exit 0.
  • npm run format:check: exit 0 на полном Git index с LF, как в Linux CI.
  • Основная pixel matrix: 22 состояния × 1000/1440/1920px = 66/66 совпадений с текущим production. Дополнительно organizer-only, participant-only, редакторы и уведомления на 1440/1920px = 16/16. Повторные снимки дополнительных сценариев на 1920px стабильны три раза подряд.
  • Mobile/tablet: 320/390/768px; проверки overflow, композиции, порядка блоков, аватаров, рамок, иконок, кнопок и уведомлений прошли.

Полный отчёт, воспроизводимые команды и мобильные снимки: docs/mobile-production/fixes-20261010.

Ограничения

Visual QA выполнен в headless Chrome на production build с одинаковыми synthetic API/WS fixtures. Физические iOS/Android, Safari/WebKit и live backend не проверены. У прежнего production-кода раскрытия длинного описания программы найден timing issue; он не менялся в этом PR, длинное описание входит в основную матрицу. Дополнительные сценарии ролей используют короткое описание, что описано в отчёте.

Пункт «в чат с аналитикой» трактован как замечание к оформлению виджета аналитики участника; чаты не добавлялись. Целевая ветка — master, merge запускает существующий production deployment workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants